import { User } from "server/models/User";
import {
  successResponse,
  errorResponse,
  validationErrorResponse,
} from "server/utils/response";

export default defineEventHandler(async (event) => {
  try {
    const { id } = getRouterParams(event);

    if (!id) {
      return validationErrorResponse("用户ID不能为空");
    }

    try {
      const userId = parseInt(id);

      // 检查权限：用户只能获取自己的信息
      if (userId !== event.context.user.id) {
        return errorResponse("权限不足", "只能获取自己的个人信息");
      }

      const user = await User.getSafeUserById(userId);

      if (!user) {
        return errorResponse("用户不存在");
      }

      // 返回用户信息（排除敏感信息）
      const {  ...userProfile } = user;

      return successResponse(userProfile, "用户信息获取成功");
    } catch (dbError) {
      console.warn("数据库操作失败", dbError);
      return errorResponse("用户不存在");
    }
  } catch (error) {
    console.error("获取用户信息失败:", error);
    return errorResponse(
      "获取用户信息失败",
      error instanceof Error ? error.message : "未知错误"
    );
  }
});